package com.example.juc.controller;

/**
 * 锁粗化
 * 假入方法中首尾相接，前后相邻的都是同一个锁对象，JIT编译器会把这几个synchronized合并成一个大块
 * 加粗加大范围，一次申请锁使用即可，避免多次申请和释放锁，提示了性能
 */
public class LockBigDemo {
    static Object objectLock = new Object();

    public static void main(String[] args) {
        new Thread(() -> {
            synchronized (objectLock) {
                System.out.println("1");
//            }
//            synchronized (objectLock) {
                System.out.println("2");
//            }
//            synchronized (objectLock) {
                System.out.println("3");
            }
        }, "t1").start();
    }
}
